/*
Important data type definitions
*/


#ifndef _TYPES_H
#define _TYPES_H

//#define EXTERN               extern
#define NULL                 (void *)0 

#ifndef _SIZE_T
#define _SIZE_T
typedef unsigned int size_t;
#endif

#ifndef _SSIZE_T
#define _SSIZE_T
typedef int ssize_t;
#endif

#ifndef _TIME_T
#define _TIME_T
typedef long time_t;			/* time in seconds since 1 Jan 1970 +0000 GMT or 2000??? */
#endif

/* Basic Type definitions */

/*
typedef unsigned char            u8_t;   // 8 bit type 
typedef unsigned short	        u16_t;   // 16 bit type 
typedef unsigned long           u32_t;   // 32 bit type 
typedef unsigned long long      u64_t;   // 64 bit type 

typedef char                     i8_t;   // 8 bit signed type 
typedef short	                i16_t;   // 16 bit signed type 
typedef long                    i32_t;   // 32 bit signed type 
typedef long long               i64_t;   // 64 bit signed type 
*/

/* 8 bit type */
#define byte_t                  unsigned char       
/* 16 bit type */
#define word_t	                unsigned short int  
/* 32 bit type */
#define dword_t                 unsigned long int   
/* 64 bit type */
#define qword_t                 unsigned long long  

typedef word_t pid_t;

#endif /* _TYPES_H */
